#!/usr/bin/env bash

#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

set -eu

source env.sh

export WORK_DIR=$(mktemp -d $PWD/run_sasl_tests_XXXX)

echo "Created work dir '${WORK_DIR}'"

min_sasl_version=131350 # Sasl version 2.1.22
sasl_version=$(sasl_version)

if (( $sasl_version < min_sasl_version )); then
    echo "Sasl version is too old; found $version; require $min_version or greater"
    echo "SKIPPING"
    exit 0
fi

exit_code=0

function fail {
    echo "FAILED! ${1}"
    exit_code=1
}

echo "# Running sasl_fed"
sasl_fed || fail "Test sasl_fed failed"
echo "# Running sasl_fed_ex dynamic"
sasl_fed_ex dynamic || fail "Test sasl_fed_ex dynamic failed"
echo "# Running sasl_fed_ex link"
sasl_fed_ex link || fail "Test sasl_fed_ex link failed"
echo "# Running sasl_fed_ex queue"
sasl_fed_ex queue || fail "Test sasl_fed_ex queue failed"
echo "# Running sasl_fed_ex route"
sasl_fed_ex route || fail "Test sasl_fed_ex route failed"
echo "# Running sasl_no_dir"
sasl_no_dir || fail "Test sasl_no_dir failed"

if (( exit_code != 0 )); then
    echo "SASL test failures"
    exit $exit_code
fi

rm -rf $WORK_DIR
